Java Data Objects
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
One of its features is a transparency of the persistence services to the
domain model. JDO persistent objects are ordinary
them to implement certain interfaces or extend from special classes. JDO
1.0 was developed under the Java Community Process as JSR 12. JDO 2.0
was developed under JSR 243 and was released on May 10, 2006. JDO 2.1
was completed in Feb 2008, developed by the Apache JDO project. JDO 2.2
was released in October 2008. JDO 3.0 was released in April 2010.
Object persistence is defined in the external XML metafiles, which may
have vendor-specific extensions. JDO vendors provide developers with
enhancers, which modify compiled Java class files so they can be
transparently persisted. (Note that byte-code enhancement is not
mandated by the JDO specification, although it is the commonly used
mechanism for implementing the JDO specification's requirements.)
Currently, JDO vendors offer several options for persistence, e.g. to
JDO enhanced classes are portable across different vendors'
implementation. Once enhanced, a Java class can be used with any
vendor's JDO product.
JDO is integrated with Java EE in several ways. First of all, the vendor
implementation may be provided as a JEE Connector. Secondly, JDO may
work in the context of JEE transaction services.
Contents
β’ See also
β’ Bibliography
β’ External links
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
JDO vs. EJB3 vs. JPA
Enterprise JavaBeans 3.0 (EJB3) specification also covered persistence,
as had EJB v2 with Entity Beans. There have been standards conflicts
between the two standards bodies in terms of pre-eminence. JDO has
several commercial implementations.
In the end, persistence has been "broken out" of "EJB3 Core", and a new
standard formed, the Java Persistence API (JPA). JPA uses the
javax.persistence package, and was first specified in a separate
document within the EJB3 spec JSR 220, but was later moved to its own
spec JSR 317. Significantly, javax.persistence will not require an EJB
container, and thus will work within a Java SE environment as well, as
JDO always has. JPA, however, is an object-relational mapping (ORM)
standard, while JDO is both an object-relational mapping standard and a
transparent object persistence standard. JDO, from an API point of view,
is agnostic to the technology of the underlying datastore, whereas JPA
is targeted to RDBMS datastores (although there are several JPA
providers that support access to non-relational datastores through the
JPA API, such as DataNucleus and ObjectDB).
Leading JDO commercial implementations and open source projects also
offer a JPA API implementation as an alternative access to their
underlying persistence engines, formerly exposed solely via JDO in the
original products. There are many open source implementations of JDO.
New Features in JDO Version 2 Not Found In Version 1
β’ Disconnected object graphs concept
β’ Standardized ORM mapping descriptors (for ORM-based JDO
implementations)
β’ JDOQL Enhancements (Single String Form; more String, Map & Math
methods support mandated)
β’ Get e.g. a Connection from javax.jdo.PersistenceManager
β’ More: Named Queries (pm.newNamedQuery), FetchPlan, Sequence, Delete by
Query, multiple User Objects on PM
JDO Reference Implementations
β’ JDO 1.0 : FOStore
β’ JDO 2.0 : JPOX 1.1
β’ JDO 2.1 : JPOX 1.2
β’ JDO 2.2 : DataNucleus AccessPlatform 1.0.1
β’ JDO 3.0 : DataNucleus AccessPlatform 2.1.0
β’ JDO 3.1 : DataNucleus AccessPlatform 3.2.0
β’ JDO 3.2 : DataNucleus AccessPlatform 5.2.0
See also
Bibliography
β’ citerefjordanrussell2003Jordan, David; Russell, Craig (April 22, 2003). Java Data Objects (1st
ed.). O'Reilly Media. p. 384. ISBN 0-596-00276-9.
β’ citereftyagivorburgermccammonbobzin2003Tyagi, Sameer; Vorburger, Michael; McCammon, Keiron; Bobzin, Heiko
(September 21, 2003). Core Java Data Objects (1st ed.). Prentice Hall.
p. 576. ISBN 0-13-140731-7.
β’ citerefezzio2003Ezzio, David (June 6, 2003). Using and Understanding Java Data Objects
original on December 23, 2010. Retrieved February 8, 2010.
External links
β’ JDO 1.0 specification
β’ JDO 2.0 specification
β’ JDO 2.1 specification
β’ JDO 2.2 specification
β’ JDO 3.0 specification